x86: Move some code out of IRQ-disabled section of context switch path.
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 21 Oct 2008 13:14:37 +0000 (14:14 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 21 Oct 2008 13:14:37 +0000 (14:14 +0100)
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/x86/domain.c

index 6e1498a0f14462567ef1781e47c8967b220f60c0..87a636e529cd28084eaf17a3800a5d05ec9eaf7e 100644 (file)
@@ -1255,11 +1255,11 @@ void context_switch(struct vcpu *prev, struct vcpu *next)
             flush_tlb_mask(next->vcpu_dirty_cpumask);
     }
 
-    local_irq_disable();
-
     if ( is_hvm_vcpu(prev) && !list_empty(&prev->arch.hvm_vcpu.tm_list) )
         pt_save_timer(prev);
 
+    local_irq_disable();
+
     set_current(next);
 
     if ( (per_cpu(curr_vcpu, cpu) == next) || is_idle_vcpu(next) )